Metrics from Libvirt and Operations Center

Overview

The feature enables the provision of metrics from Libvirt and the Operations Center.

These metrics include information on the use of flavors, CPU, RAM and other resources as well as data on the project owners.

Endpoint

URL: https://resources._EDGE_.gecgo.net/federate

Credentials are required for access. These can be obtained from the helpdesk.

Example configuration Prometheus

Further details in the Prometheus documentation on Federation and scrape configuration.

scrape_configs:
  - job_name: 'edge_metrics'
    scrape_interval: 15s
    honor_labels: true
    metrics_path: '/federate'
    scheme: https
    basic_auth:
      username: scrape
      password_file: ./scrape_user_edge

    params:
      'match[]':
        - '{__name__=~".+"}'

    static_configs:
      - targets:
        - 'resources._EDGE_.gecgo.net'

Metrics from Libvirt

The metrics from Libvirt provide detailed information about the virtual machines (VMs), including:

  • Flavors used: Information about the allocated resource profiles of the VMs.
  • CPU usage: Current utilization of the CPU resources.
  • RAM usage: Current memory usage.
  • Other metrics: Additional information about the VMs available via Libvirt.

Metrics from the Operations Center

In addition to the Libvirt metrics, metrics about the project owners from the Operations Center are also provided. An example of such a metric is:

sql_oc_membership{job="oc-exporter",instance="de-host-rack-01",owner="jemand@userdomain.de",project_name="projectname-dea9e633-9a03-4130-900b-dfde07734bff"} 1

This metric contains the following information:

  • Job: The name of the export job (oc-exporter).
  • Instance: The instance ID (de-host-rack-01).
  • Owner: The email address of the project owner (someone@userdomain.de).
  • Project Name: The name of the project (projectname-dea9e633-9a03-4130-900b-dfde07734bff).
  • Value: The value of the metric (1).

Metrics

NameDescriptionType
libvirt_domain_block_metaBlock device metadata info. Device name, source file, serial.gauge
libvirt_domain_block_stats_allocationOffset of the highest written sector on a block device.gauge
libvirt_domain_block_stats_capacity_bytesLogical size in bytes of the block device backing image.gauge
libvirt_domain_block_stats_flush_requests_totalTotal flush requests from a block device.counter
libvirt_domain_block_stats_flush_time_seconds_totalTotal time in seconds spent on cache flushing to a block devicecounter
libvirt_domain_block_stats_limit_burst_length_read_requests_secondsRead requests per second burst time in secondsgauge
libvirt_domain_block_stats_limit_burst_length_total_requests_secondsTotal requests per second burst time in secondsgauge
libvirt_domain_block_stats_limit_burst_length_write_requests_secondsWrite requests per second burst time in secondsgauge
libvirt_domain_block_stats_limit_burst_read_bytesRead throughput burst limit in bytes per secondgauge
libvirt_domain_block_stats_limit_burst_read_bytes_length_secondsRead throughput burst time in secondsgauge
libvirt_domain_block_stats_limit_burst_read_requestsRead requests per second burst limitgauge
libvirt_domain_block_stats_limit_burst_total_bytesTotal throughput burst limit in bytes per secondgauge
libvirt_domain_block_stats_limit_burst_total_bytes_length_secondsTotal throughput burst time in secondsgauge
libvirt_domain_block_stats_limit_burst_total_requestsTotal requests per second burst limitgauge
libvirt_domain_block_stats_limit_burst_write_bytesWrite throughput burst limit in bytes per secondgauge
libvirt_domain_block_stats_limit_burst_write_bytes_length_secondsWrite throughput burst time in secondsgauge
libvirt_domain_block_stats_limit_burst_write_requestsWrite requests per second burst limitgauge
libvirt_domain_block_stats_limit_read_bytesRead throughput limit in bytes per secondgauge
libvirt_domain_block_stats_limit_read_requestsRead requests per second limitgauge
libvirt_domain_block_stats_limit_total_bytesTotal throughput limit in bytes per secondgauge
libvirt_domain_block_stats_limit_total_requestsTotal requests per second limitgauge
libvirt_domain_block_stats_limit_write_bytesWrite throughput limit in bytes per secondgauge
libvirt_domain_block_stats_limit_write_requestsWrite requests per second limitgauge
libvirt_domain_block_stats_physicalsize_bytesPhysical size in bytes of the container of the backing image.gauge
libvirt_domain_block_stats_read_bytes_totalNumber of bytes read from a block device, in bytes.counter
libvirt_domain_block_stats_read_requests_totalNumber of read requests from a block device.counter
libvirt_domain_block_stats_read_time_seconds_totalTotal time spent on reads from a block device, in seconds.counter
libvirt_domain_block_stats_size_iops_bytesThe size of IO operations per second permitted through a block devicegauge
libvirt_domain_block_stats_write_bytes_totalNumber of bytes written to a block device, in bytes.counter
libvirt_domain_block_stats_write_requests_totalNumber of write requests to a block device.counter
libvirt_domain_block_stats_write_time_seconds_totalTotal time spent on writes on a block device, in secondscounter
libvirt_domain_info_cpu_time_seconds_totalAmount of CPU time used by the domain, in seconds.counter
libvirt_domain_info_maximum_memory_bytesMaximum allowed memory of the domain, in bytes.gauge
libvirt_domain_info_memory_usage_bytesMemory usage of the domain, in bytes.gauge
libvirt_domain_info_metaDomain metadatagauge
libvirt_domain_info_virtual_cpusNumber of virtual CPUs for the domain.gauge
libvirt_domain_info_vstateVirtual domain state. 0: no state, 1: the domain is running, 2: the domain is blocked on resource, 3: the domain is paused by user, 4: the domain is down, 5: the domain is shut off,6: the domain is crashed, 7: the domain is suspended by guest power managementgauge
libvirt_domain_interface_metaInterfaces metadata. Source bridge, target device, interface uuidgauge
libvirt_domain_interface_stats_receive_bytes_totalNumber of bytes received on a network interface, in bytes.counter
libvirt_domain_interface_stats_receive_drops_totalNumber of packet receive drops on a network interface.counter
libvirt_domain_interface_stats_receive_errors_totalNumber of packet receive errors on a network interface.counter
libvirt_domain_interface_stats_receive_packets_totalNumber of packets received on a network interface.counter
libvirt_domain_interface_stats_transmit_bytes_totalNumber of bytes transmitted on a network interface, in bytes.counter
libvirt_domain_interface_stats_transmit_drops_totalNumber of packet transmit drops on a network interface.counter
libvirt_domain_interface_stats_transmit_errors_totalNumber of packet transmit errors on a network interface.counter
libvirt_domain_interface_stats_transmit_packets_totalNumber of packets transmitted on a network interface.counter
libvirt_domain_memory_stats_actual_balloon_bytesCurrent balloon value (in bytes).gauge
libvirt_domain_memory_stats_available_bytesThe total amount of usable memory as seen by the domain. This value may be less than the amount of memory assigned to the domain if driver is in use or if the guest OS does not initialize all assigned pages. This value is expressed in bytes.gauge
libvirt_domain_memory_stats_disk_cache_bytesThe amount of memory, that can be quickly reclaimed without additional I/O (in bytes).Typically these pages are used for caching diskgauge
libvirt_domain_memory_stats_major_fault_totalPage faults occur when a process makes a valid access to virtual memory that is not available. When servicing the page fault, if is required, it is considered a major fault.counter
libvirt_domain_memory_stats_minor_fault_totalPage faults occur when a process makes a valid access to virtual memory that is not available. When servicing the page not fault, IO is required, it is considered a minor fault.counter
libvirt_domain_memory_stats_rss_bytesResident Set Size of the process running the domain. This value is in bytesgauge
libvirt_domain_memory_stats_unused_bytesThe amount of memory left completely unused by the system. Memory that is available but used for reclaimable caches should NOT be free. This value is expressed in bytes.gauge
libvirt_domain_memory_stats_usable_bytesHow much the balloon can be inflated without pushing the guest system to swap, corresponds to ‘Available’ in /proc/meminfogauge
libvirt_domain_memory_stats_used_percentThe amount of memory in percent, that used by domain.gauge
libvirt_domain_vcpu_cpuReal CPU number, or one of the values from virVcpuHostCpuStategauge
libvirt_domain_vcpu_stateVCPU state. 0: offline, 1: running, 2: blockedgauge
libvirt_domain_vcpu_time_seconds_totalAmount of CPU time used by the domain’s VCPU, in seconds.counter
libvirt_domain_vcpu_wait_seconds_totalVcpu’s wait_sum metric. CONFIG_SCHEDSTATS has to be enabledcounter
libvirt_upWhether scraping libvirt’s metrics was successful.gauge
libvirt_versions_infoVersions of virtualization componentsgauge
sql_oc_membershipProject owner information of Operations Centercounter